import NoFound from "@/components/NoFound"
import 'nprogress/nprogress.css';
import {start, done, configure} from "nprogress";

configure({
    trickleSpeed: 20,
    showSpinner: false
})

function delay(duration){
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve();
        }, duration);
    })
}

function getPageComponent(pageCompResolve){
    return async () => {
        start();
        if(process.env.NODE_ENV === 'development'){
            await delay(2000);
        }
        const result = await pageCompResolve();
        done();
        return result;
    }
}

const routes = [
        { name: 'Home', path: "/", component: getPageComponent(() => import(/*webpackChunkName: "home"*/'@/views/Home')), meta: {title: '首页'}},
        { name: 'Message', path: '/message', component: getPageComponent(() => import(/*webpackChunkName: "message"*/'@/views/Message')), meta: {title: '留言板'}},
        { name: 'About', path: '/about', component: getPageComponent(() => import(/*webpackChunkName: "about"*/'@/views/About')), meta: {title: '关于我'}},
        { name: 'Blog', path: '/blog', component: getPageComponent(() => import(/*webpackChunkName: "blog"*/'@/views/Blog')), meta: {title: '文章'}},
        { name: 'BlogCategory', path: '/blog/cate/:categoryId', component: getPageComponent(() => import(/*webpackChunkName: "blogcategory"*/'@/views/Blog/')), meta: {title: '文章分类'}},
        { name: 'BlogDetail', path: '/blog/:id', component: getPageComponent(() => import(/*webpackChunkName: "blogdetail"*/'@/views/Blog/Detail')), meta: {title: '文章详情'}},
        { name: 'Project', path: '/project', component: getPageComponent(() => import(/*webpackChunkName: "project"*/'@/views/Project')), meta: {title: '项目&效果'}},
        { name: 'NoFound', path: '*', component: NoFound, meta: {title: '没有找到页面'}}
    ]
export default routes;